export interface BannerVo {
  /** 轮播图ID */
  id: number
  /** 轮播图类型 */
  type: number
  /** 轮播图类型名称 */
  typeName: string
  /** 图片地址 */
  image: string
  /** 链接地址 */
  link?: string
  /** 标题 */
  title?: string
  /** 排序 */
  sort: number
  /** 状态 */
  status: number
  /** 状态名称 */
  statusName: string
  /** 创建时间 */
  createTime: string
  /** 更新时间 */
  updateTime: string
}

export interface BannerQueryParam {
  /** 页码 */
  pageNo: number
  /** 每页数量 */
  pageSize: number
  /** 轮播图类型 */
  type?: number
  /** 状态 */
  status?: number
  /** 标题 */
  title?: string
}

export interface CreateBannerRequest {
  /** 轮播图类型 */
  type: number
  /** 图片地址 */
  image: string
  /** 链接地址 */
  link?: string
  /** 标题 */
  title?: string
  /** 排序 */
  sort?: number
  /** 状态 */
  status?: number
}

export interface UpdateBannerRequest {
  /** 轮播图ID */
  id: number
  /** 轮播图类型 */
  type: number
  /** 图片地址 */
  image: string
  /** 链接地址 */
  link?: string
  /** 标题 */
  title?: string
  /** 排序 */
  sort?: number
  /** 状态 */
  status?: number
}

export interface BannerListResponse {
  code: number
  message: string
  data: {
    list: BannerVo[]
    total: number
    pageNo: number
    pageSize: number
    pages: number
  }
}

export interface BannerDetailResponse {
  code: number
  message: string
  data: BannerVo
}

export interface CreateBannerResponse {
  code: number
  message: string
  data: number
}

export interface UpdateBannerResponse {
  code: number
  message: string
  data: string
}

export interface DeleteBannerResponse {
  code: number
  message: string
  data: string
}

export interface BatchDeleteBannerResponse {
  code: number
  message: string
  data: string
}

export interface UpdateBannerStatusResponse {
  code: number
  message: string
  data: string
}